<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>

    // 2. cookie 的内容是纯文本，即只能保存字符串数据。 如果存储其他类型的数据会隐式转字符串
    // 此时如果向存储数组和对象等复杂类型的数据 => 怎么办?

    // 有没有特殊的方法 可以在保留数组和对象结构的前提下 把它转化为字符串

    // JSON对象的方法
    // JSON.stringify()   将数组和对象转化为JSON字符串(可以在保留数组和对象结构的前提下 把它转化为字符串)
    // JSON.parse()     将JSON类型的字符串转化为对应结构的数组和对象

    // 注意:  JSON.stringify()  JSON.parse()  配合可以实现数组/对象深复制

    // var arr = [1, 2, 3, 4];
    // var obj = { a: 1, b: 2, c: 3 };

    // 数组和对象隐式 /强制转化为字符串的结果
    // console.log(String(arr));  // 1,2,3,4
    // console.log(String(obj));  // '[object Object]' 

    // 有没有特殊的方法 可以在保留数组和对象结构的前提下 把它转化为字符串(json字符串/json数据 )  JSON.stringify()
    var arr = [1, 2, 3, 4];  // '[1, 2, 3, 4]'
    var obj = { a: 1, b: 2, c: 3 }; // '{ a: 1, b: 2, c: 3 }'

    console.log(JSON);

    var arr_str = JSON.stringify(arr);
    console.log(1, arr_str);  // '[1, 2, 3, 4]'
    var obj_str = JSON.stringify(obj);
    console.log(1, obj_str);  // '{"a":1,"b":2,"c":3}'

    // 解析
    var arr1 = JSON.parse(arr_str);
    console.log(arr1, arr === arr1);
    var obj1 = JSON.parse(obj_str);
    console.log(obj1, obj === obj1);



</script>

</html>